home *** CD-ROM | disk | FTP | other *** search
/ The World's Largest Collection of Windows Software / The World's Largest Collection of Windows Software - Disc 1.iso / connect / _j2 / wvnsc926 / makefile.std < prev    next >
Makefile  |  1994-05-18  |  7KB  |  293 lines

  1.  
  2. PROJ = winvn
  3. PROJFILE = makefile.std
  4. DEBUG = 1
  5.  
  6. NMAKEBSC1  = set
  7. NMAKEBSC2  = nmake
  8. BRFLAGS  = /o $(PROJ).bsc
  9. BROWSE  = 1
  10. BSCMAKE  = bscmake
  11. SBRPACK  = sbrpack
  12. CC  = cl
  13. CFLAGS_G  = /AL /W3 /G2 /GA /GEf /Zp /BATCH /FR$*.sbr
  14. CFLAGS_D  = /f /Od /Zi /Gs
  15. CFLAGS_R  = /f- /Oe /Og /Os /Gs
  16. CXX  = cl
  17. CXXFLAGS_G  = /G2 /W3 /GA /GEf /Zp /BATCH /FR$*.sbr
  18. CXXFLAGS_D  = /f /Zi /Od /Gs
  19. CXXFLAGS_R  = /f- /Oe /Og /Os /Gs
  20. MAPFILE_D  = NUL
  21. MAPFILE_R  = NUL
  22. LFLAGS_G  =  /BATCH /ONERROR:NOEXE
  23. LFLAGS_D  = /CO /NOFARCALL
  24. LFLAGS_R  = /NOFARCALL
  25. LLIBS_R = /NOD:LLIBCE LLIBCEW
  26. LLIBS_D = /NOD:LLIBCE LLIBCEW
  27. LLIBS_G  = LIBW.LIB
  28. LINKER  = link
  29. ILINK  = ilink
  30. LRF  = echo > NUL
  31. ILFLAGS  = /a /e
  32. RC  = rc
  33. RCFLAGS1 =
  34. RCFLAGS2 = -K
  35. CVFLAGS  = /25 /2 /B
  36. PACK_SBRS  = 1
  37.  
  38. DEF_FILE = winvnstd.def
  39.  
  40. FILES  = winvnstd.def wvsckstd.c winvn.c wvblock.c wvcncm.c wvfile.c\
  41.     wvgroup.c wvheader.c wvpost.c wvscreen.c wvusenet.c wvutil.c\
  42.     wvart.c wvlist.c winvn.rc wvmail.c wvauth.c shellsor.c wvprint.c \
  43.     wvmapi.c headarry.c wvcrypt.c wvattach.c wvcoding.c wvtxtblk.c \
  44.     wvcodewn.c
  45.  
  46. OBJS  = winvn.obj wvblock.obj wvcncm.obj wvfile.obj wvgroup.obj\
  47.     wvheader.obj wvpost.obj wvscreen.obj wvsckstd.obj wvusenet.obj\
  48.     wvutil.obj wvprint.obj wvart.obj wvlist.obj wvmail.obj wvauth.obj\
  49.     SHELLSOR.obj ini_news.obj wvmapi.obj headarry.obj wvcrypt.obj \
  50.     wvattach.obj wvcoding.obj wvtxtblk.obj wvcodewn.obj
  51.  
  52. # DOS command-line length stupidity.  Check rest of makefile if you change!
  53.  
  54. RCS1 = winvn.c wvblock.c wvcncm.c wvfile.c wvgroup.c wvheader.c headarry.c
  55. RCS2 = wvpost.c wvscreen.c wvusenet.c wvutil.c ini_news.c  wvsckstd.c
  56. RCS3 = wvart.c wvlist.c wvmail.c wvauth.c shellsor.c wvprint.c wvmapi.c wvcrypt.c
  57. RCS4 = winvn.h wvglob.h wvdlg.h wvmapi.h winvn.rc winvn.dlg
  58. RCS5 = wvattach.c wvcoding.c wvtxtblk.c wvcodewn.c
  59.  
  60. RCSFILES = $(RCS1) $(RCS2) $(RCS3) $(RCS4) $(RCS5)
  61.  
  62. LIBS_EXT  =
  63. LIBS  = $(LIBS_EXT)
  64. RESS  = winvn.res
  65. SBRS  = winvn.sbr wvblock.sbr wvcncm.sbr wvfile.sbr wvgroup.sbr\
  66.     wvheader.sbr wvpost.sbr wvscreen.sbr wvsckstd.sbr wvusenet.sbr\
  67.     wvutil.sbr wvart.sbr wvlist.sbr wvmail.sbr wvauth.sbr shellsor.sbr\
  68.           wvprint.sbr ini_news.sbr headarry.sbr wvcrypt.sbr
  69.  
  70. all: $(PROJ).exe
  71.  
  72. !IF $(DEBUG)
  73. CFLAGS = $(CFLAGS_G) $(CFLAGS_D)
  74. !ELSE
  75. CFLAGS = $(CFLAGS_G) $(CFLAGS_R)
  76. !ENDIF
  77.  
  78. .SUFFIXES: .obj .sbr .res .c .rc
  79.  
  80. # Rules to create files from RCS database
  81.  
  82. $(RCSFILES):
  83.     co $@
  84.  
  85. version:
  86.     echo static char version_string[] = >version.c
  87.     echo "This is " WINVN_VERSION "\n">>version.c
  88.     ident $(RCS1) | mawk -f version.awk >>version.c
  89.     ident $(RCS2) | mawk -f version.awk >>version.c
  90.     ident $(RCS3) | mawk -f version.awk >>version.c
  91.     ident $(RCS4) | mawk -f version.awk >>version.c
  92.     ident $(RCS5) | mawk -f version.awk >>version.c
  93.     echo ; >>version.c
  94.  
  95. # rule for making object files
  96. .c.obj:
  97.   $(CC) /c $(CFLAGS) /Fo$*.obj $*.c
  98.  
  99. # rule for making source code browser files
  100. .c.sbr:
  101.   $(CC) /Zs $(CFLAGS) /Fo$*.sbr $*.c
  102.  
  103. checkout: $(RCSFILES)
  104.     co $(RCS1)
  105.     co $(RCS2)
  106.     co $(RCS3)
  107.     co $(RCS4)
  108.     co $(RCS5)
  109.  
  110. winvn.obj : winvn.c wvglob.h winvn.h winundoc.h\
  111.      wvdlg.h
  112.  
  113. winvn.sbr : winvn.c wvglob.h winvn.h winundoc.h\
  114.      wvdlg.h
  115.  
  116. wvblock.obj : wvblock.c wvglob.h winvn.h wvdlg.h
  117.  
  118. wvblock.sbr : wvblock.c wvglob.h winvn.h wvdlg.h
  119.  
  120. wvcncm.obj : wvcncm.c wvglob.h winvn.h wvdlg.h
  121.  
  122. wvcncm.sbr : wvcncm.c wvglob.h winvn.h wvdlg.h
  123.  
  124. wvfile.obj : wvfile.c wvglob.h winvn.h winundoc.h\
  125.     wvdlg.h
  126.  
  127. wvfile.sbr : wvfile.c wvglob.h winvn.h winundoc.h\
  128.     wvdlg.h
  129.  
  130. wvprint.obj : wvprint.c wvglob.h winvn.h winundoc.h\
  131.     wvdlg.h
  132.  
  133. wvprint.sbr : wvprint.c wvglob.h winvn.h winundoc.h\
  134.     wvdlg.h
  135.  
  136. wvgroup.obj : wvgroup.c winundoc.h wvglob.h winvn.h\
  137.     wvdlg.h
  138.  
  139. wvgroup.sbr : wvgroup.c winundoc.h wvglob.h winvn.h\
  140.     wvdlg.h
  141.  
  142. wvheader.obj : wvheader.c wvglob.h winvn.h winundoc.h\
  143.     wvdlg.h
  144.  
  145. wvheader.sbr : wvheader.c wvglob.h winvn.h winundoc.h\
  146.     wvdlg.h
  147.  
  148. wvpost.obj : wvpost.c wvglob.h winvn.h winundoc.h\
  149.     wvdlg.h
  150.  
  151. wvpost.sbr : wvpost.c wvglob.h winvn.h winundoc.h\
  152.     wvdlg.h
  153.  
  154. wvscreen.obj : wvscreen.c wvglob.h winvn.h wvdlg.h
  155.  
  156. wvscreen.sbr : wvscreen.c wvglob.h winvn.h wvdlg.h
  157.  
  158. wvsckstd.obj : wvsckstd.c wvglob.h winvn.h wvdlg.h
  159.  
  160. wvsckstd.sbr : wvsckstd.c wvglob.h winvn.h wvdlg.h
  161.  
  162. wvusenet.obj : wvusenet.c winundoc.h wvglob.h winvn.h\
  163.     wvdlg.h
  164.  
  165. wvusenet.sbr : wvusenet.c winundoc.h wvglob.h winvn.h\
  166.     wvdlg.h
  167.  
  168. wvutil.obj : wvutil.c wvglob.h winvn.h winundoc.h\
  169.     wvdlg.h
  170.  
  171. wvutil.sbr : wvutil.c wvglob.h winvn.h winundoc.h\
  172.     wvdlg.h
  173.  
  174. wvart.obj : wvart.c winundoc.h wvglob.h winvn.h\
  175.     wvdlg.h
  176.  
  177. wvart.sbr : wvart.c winundoc.h wvglob.h winvn.h\
  178.     wvdlg.h
  179.  
  180. wvlist.obj : wvlist.c wvglob.h winvn.h winundoc.h\
  181.     wvdlg.h
  182.  
  183. wvlist.sbr : wvlist.c wvglob.h winvn.h winundoc.h\
  184.     wvdlg.h
  185.  
  186. wvmail.obj : wvmail.c wvglob.h winvn.h winundoc.h\
  187.     wvdlg.h
  188.  
  189. wvmail.sbr : wvmail.c wvglob.h winvn.h winundoc.h\
  190.     wvdlg.h
  191.  
  192. wvauth.obj : wvauth.c
  193.  
  194. wvauth.sbr : wvauth.c
  195.  
  196. shellsor.obj : shellsor.c
  197.  
  198. shellsor.sbr : shellsor.c
  199.  
  200. ini_news.obj : ini_news.c
  201.  
  202. ini_news.sbr : ini_news.c
  203.  
  204. headarry.obj : headarry.c wvglob.h winvn.h
  205.  
  206. headarry.sbr : headarry.c wvglob.h winvn.h
  207.  
  208. wvcrypt.obj : wvcrypt.c
  209.  
  210. wvcrypt.sbr : wvcrypt.c
  211.  
  212. winvn.res : winvn.rc winvn.h winvn.ico wvgroup.ico\
  213.     wvart.ico wvpost.ico dish.ico
  214.  
  215. $(PROJ).bsc : $(SBRS)
  216.     $(BSCMAKE) @<<
  217. $(BRFLAGS) $(SBRS)
  218. <<
  219.  
  220. $(PROJ).exe : $(DEF_FILE) $(OBJS) $(LIBS) $(RESS)
  221.     -$(NMAKEBSC1) MAKEFLAGS=
  222.     -$(NMAKEBSC2) $(NMFLAGS) -f $(PROJFILE) $(PROJ).bsc
  223. !IF $(DEBUG)
  224.     $(LRF) @<<$(PROJ).lrf
  225. $(RT_OBJS: = +^
  226. ) $(OBJS: = +^
  227. )
  228. $@
  229. $(MAPFILE_D)
  230. $(LIBS: = +^
  231. ) +
  232. $(LLIBS_G: = +^
  233. ) +
  234. $(LLIBS_D: = +^
  235. )
  236. $(DEF_FILE) $(LFLAGS_G) $(LFLAGS_D);
  237. <<
  238. !ELSE
  239.     $(LRF) @<<$(PROJ).lrf
  240. $(RT_OBJS: = +^
  241. ) $(OBJS: = +^
  242. )
  243. $@
  244. $(MAPFILE_R)
  245. $(LIBS: = +^
  246. ) +
  247. $(LLIBS_G: = +^
  248. ) +
  249. $(LLIBS_R: = +^
  250. )
  251. $(DEF_FILE) $(LFLAGS_G) $(LFLAGS_R);
  252. <<
  253. !ENDIF
  254.     $(LINKER) @$(PROJ).lrf
  255.     $(RC) $(RCFLAGS2) $(RESS) $@
  256.  
  257. .rc.res :
  258.     $(RC) $(RCFLAGS1) /r /fo $@ $<
  259.  
  260.  
  261. run: $(PROJ).exe
  262.     WX $(WXFLAGS) $(PROJ).exe $(RUNFLAGS)
  263.  
  264. debug: $(PROJ).exe
  265.     WX /p $(WXFLAGS) CVW $(CVFLAGS) $(PROJ).exe $(RUNFLAGS)
  266.  
  267. clean:
  268.    rm -f *.exe
  269.    rm -f *.obj
  270.    rm -f *.sbr
  271.    rm -f *.bsc
  272.    rm -f *.dll
  273.    rm -f *.lib
  274.    rm -f *.res
  275.    rm -f *~
  276.  
  277. #
  278. # YOU must supply the RELEASE string for this.
  279. # example:
  280. # nmake -f makefile.std release RELEASE=V3
  281.  
  282. release: $(RCSFILES)
  283.    rcs -n$(RELEASE): $(RCS1)
  284.    rcs -n$(RELEASE): $(RCS2)
  285.    rcs -n$(RELEASE): $(RCS3)
  286.    rcs -n$(RELEASE): $(RCS4)
  287.    rcs -n$(RELEASE): $(RCS5)
  288.  
  289. dist: $(RCSFILES)
  290.    $(MAKE) -f $(PROJFILE) clean
  291.    rm -f ../winvnsrc.zip
  292.    zip ../winvnsrc.zip *.*
  293.